package concurrency.prod_cons.moniteur;

import java.util.Calendar;
import java.util.Date;


public class Producteur implements Runnable {

	private final String id;
	private String message;
	private final MoniteurProdCons moniteur;
	
	public Producteur(final String id, final MoniteurProdCons moniteur) {
		this.id = id;
		this.moniteur = moniteur;
		new Thread(this).start();
	}
	
	private void produire() {
		Date date = Calendar.getInstance().getTime();
		message = "From " + id + " " + date.toString();
		System.out.println(message);
	}
	
	@Override
	public void run() {
		while (true) {
			produire();
			moniteur.deposer(message);
			Main.pauseAlea(1000);
		}
	}
	
	@Override
	public String toString() {
		String description = "Producteur : " + id + " depose : " + message;
		return description;
	}
}
